package com.ctshk.rpc.hotel.req;

import com.ctshk.common.model.PageReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 酒店订单信息req
 * </p>
 *  */
@Data
@ApiModel(description="酒店订单信息req")
public class HotelOrderQueryReq extends PageReq implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "城市名称")
    private String cityName;

    @ApiModelProperty(value = "酒店名/位置")
    private String searchName;

    @NotNull(message = "请填写入住日期")
    @ApiModelProperty(value = "入住日期", example = "2021-05-01", required = true)
    private LocalDate checkInDate;

    @NotNull(message = "请填写离店日期")
    @ApiModelProperty(value = "离店日期", example = "2021-05-03", required = true)
    private LocalDate checkOutDate;

    @NotNull(message = "请填写房间数")
    @ApiModelProperty(value = "房间数", required = true)
    private Integer roomNum;

    @NotNull(message = "请填写人数")
    @ApiModelProperty(value = "总人数(成人数+儿童数)", required = true)
    private Integer peopleNum;

    @ApiModelProperty(value = "右边的筛选条件-酒店星级(不限传空)")
    private List<Integer> starLevels;

    @ApiModelProperty(value = "右边的筛选条件-酒店位置ID(不限传空)")
    private List<Long> businessDistrictIds;

    @ApiModelProperty(value = "右边的筛选条件-酒店设施id数组(不限传空)")
    private List<Long> facilitiesIds;

    @ApiModelProperty(value = "最低价")
    private BigDecimal minPrice;

    @ApiModelProperty(value = "最高价")
    private BigDecimal maxPrice;

    @ApiModelProperty(value = "是否需要加床,入住人数有余数时使用", hidden = true)
    private Boolean isAddBed;
}
